{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 0. Import Packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import tensorflow as tf\n",
    "import keras\n",
    "import os\n",
    "import glob\n",
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1. Load Dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>terminal_voltage</th>\n",
       "      <th>terminal_current</th>\n",
       "      <th>temperature</th>\n",
       "      <th>charge_current</th>\n",
       "      <th>charge_voltage</th>\n",
       "      <th>time</th>\n",
       "      <th>capacity</th>\n",
       "      <th>cycle</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>4.191492</td>\n",
       "      <td>-0.004902</td>\n",
       "      <td>24.330034</td>\n",
       "      <td>-0.0006</td>\n",
       "      <td>0.000</td>\n",
       "      <td>0.000</td>\n",
       "      <td>1.856487</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>4.190749</td>\n",
       "      <td>-0.001478</td>\n",
       "      <td>24.325993</td>\n",
       "      <td>-0.0006</td>\n",
       "      <td>4.206</td>\n",
       "      <td>16.781</td>\n",
       "      <td>1.856487</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3.974871</td>\n",
       "      <td>-2.012528</td>\n",
       "      <td>24.389085</td>\n",
       "      <td>-1.9982</td>\n",
       "      <td>3.062</td>\n",
       "      <td>35.703</td>\n",
       "      <td>1.856487</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3.951717</td>\n",
       "      <td>-2.013979</td>\n",
       "      <td>24.544752</td>\n",
       "      <td>-1.9982</td>\n",
       "      <td>3.030</td>\n",
       "      <td>53.781</td>\n",
       "      <td>1.856487</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>3.934352</td>\n",
       "      <td>-2.011144</td>\n",
       "      <td>24.731385</td>\n",
       "      <td>-1.9982</td>\n",
       "      <td>3.011</td>\n",
       "      <td>71.922</td>\n",
       "      <td>1.856487</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50280</th>\n",
       "      <td>3.579262</td>\n",
       "      <td>-0.001569</td>\n",
       "      <td>34.864823</td>\n",
       "      <td>0.0006</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2781.312</td>\n",
       "      <td>1.325079</td>\n",
       "      <td>168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50281</th>\n",
       "      <td>3.581964</td>\n",
       "      <td>-0.003067</td>\n",
       "      <td>34.814770</td>\n",
       "      <td>0.0006</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2791.062</td>\n",
       "      <td>1.325079</td>\n",
       "      <td>168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50282</th>\n",
       "      <td>3.584484</td>\n",
       "      <td>-0.003079</td>\n",
       "      <td>34.676258</td>\n",
       "      <td>0.0006</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2800.828</td>\n",
       "      <td>1.325079</td>\n",
       "      <td>168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50283</th>\n",
       "      <td>3.587336</td>\n",
       "      <td>0.001219</td>\n",
       "      <td>34.565580</td>\n",
       "      <td>0.0006</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2810.640</td>\n",
       "      <td>1.325079</td>\n",
       "      <td>168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50284</th>\n",
       "      <td>3.589937</td>\n",
       "      <td>-0.000583</td>\n",
       "      <td>34.405920</td>\n",
       "      <td>0.0006</td>\n",
       "      <td>0.000</td>\n",
       "      <td>2820.390</td>\n",
       "      <td>1.325079</td>\n",
       "      <td>168</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>50285 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "       terminal_voltage  terminal_current  temperature  charge_current  \\\n",
       "0              4.191492         -0.004902    24.330034         -0.0006   \n",
       "1              4.190749         -0.001478    24.325993         -0.0006   \n",
       "2              3.974871         -2.012528    24.389085         -1.9982   \n",
       "3              3.951717         -2.013979    24.544752         -1.9982   \n",
       "4              3.934352         -2.011144    24.731385         -1.9982   \n",
       "...                 ...               ...          ...             ...   \n",
       "50280          3.579262         -0.001569    34.864823          0.0006   \n",
       "50281          3.581964         -0.003067    34.814770          0.0006   \n",
       "50282          3.584484         -0.003079    34.676258          0.0006   \n",
       "50283          3.587336          0.001219    34.565580          0.0006   \n",
       "50284          3.589937         -0.000583    34.405920          0.0006   \n",
       "\n",
       "       charge_voltage      time  capacity  cycle  \n",
       "0               0.000     0.000  1.856487      1  \n",
       "1               4.206    16.781  1.856487      1  \n",
       "2               3.062    35.703  1.856487      1  \n",
       "3               3.030    53.781  1.856487      1  \n",
       "4               3.011    71.922  1.856487      1  \n",
       "...               ...       ...       ...    ...  \n",
       "50280           0.000  2781.312  1.325079    168  \n",
       "50281           0.000  2791.062  1.325079    168  \n",
       "50282           0.000  2800.828  1.325079    168  \n",
       "50283           0.000  2810.640  1.325079    168  \n",
       "50284           0.000  2820.390  1.325079    168  \n",
       "\n",
       "[50285 rows x 8 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = pd.read_csv('dataset/B05_discharge_soh.csv')\n",
    "df = pd.DataFrame(data)\n",
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Shape of data : (50285, 8)\n"
     ]
    }
   ],
   "source": [
    "print(\"Shape of data :\", np.shape(data))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2. Visualization of capacity"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtYAAAH0CAYAAAAZnGpmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3de5iN9f7/8dcYwxyMxmFKm2a2cyGhxq8cRimNnElOmVEpEdlJB/ZOYUrEkEaSQ76hnci2N0LtTqSv5DgYFQ0dCDlkM8ZhjPv3h++sPWPWrLln5l73Oj0f1+W6zLrXWvdnvbuv2S/v/V6fO8gwDEMAAAAASqWMpxcAAAAA+AOCNQAAAGABgjUAAABgAYI1AAAAYAGCNQAAAGABgjUAAABgAYI1APyftm3bqn79+o4/jRo10t13361JkyYpMzPT8bxNmzapfv36OnLkiCXnnDlzZqnfx91yP3PeP7fddpsee+wxZWRk5Hvuzz//rIEDB6pp06Zq06aN5s6dm+94Tk6OUlJS1KpVKzVt2lTDhw/X8ePH8z1nw4YN6tq1qxo3bqzOnTtr3bp1+Y6/9957BdbToEED93x4ADCJYA0AeTz22GPasGGDNmzYoNWrV2vkyJH66KOP9Oijj+rixYuSpKZNm2rDhg269tprPbxa+y1fvlwbNmzQ+vXrtWjRIpUvX14DBw7UhQsXJEkXL17Uo48+qoiICC1dulTPPPOMZsyYoSVLljjeIzU1VcuXL9ekSZO0aNEiHTlyRE8++aTj+I8//qghQ4aoffv2Wr58ue6++24NHTpU+/btczxn7969atu2reO/Ve6aAMCTCNYAkEd4eLiio6MVHR2tmJgYdejQQW+99ZZ27NihZcuWSZLKlSun6OholSkTeL9CK1eurOjoaF133XW68cYb9eKLL+rw4cP65ptvJEmffPKJjh8/rldffVV16tRR586d9eijj2revHmSrgTvBQsW6Omnn1bLli3VsGFDTZ06Vdu2bdO2bdskSQsWLFCTJk00ZMgQ1a5dW0899ZSaNm2qBQsWONaxb98+3XTTTY7/VtHR0apatar9BQGAPALvfxUAoJgaNmyoW2+9VatXr5ZUcBTkyy+/VLdu3dS4cWO1atVKycnJjg6uJO3cuVOJiYlq0qSJWrVqpddee02XLl1yHD969KgGDx6sW265Ra1atdKsWbMcxy5fvqyZM2fq3nvvVaNGjXTbbbfpySef1MmTJx1rufnmmzVz5kw1b95ciYmJkqS0tDT16dNHjRs31n333aelS5eqfv36OnjwoKQrAXfixIlq1aqVmjVrpv79+2vHjh3Frk14eLgkKSgoSJK0ZcsWNWrUSBEREY7nNG/eXD/99JOOHz+u77//XmfPnlXz5s0dx2vUqKHq1atry5YtjvfIe1yS/t//+3+O49KVrnbt2rWLvV4AcCeCNQCYUK9ePe3du7fA4ydPntSwYcPUp08frVmzRpMnT9bq1as1Z84cSdKvv/6qpKQkxcbG6sMPP9TkyZO1YsUKpaamOt5j2bJlatOmjVatWqWkpCRNmzZNmzdvliTNnz9fCxYs0AsvvKCPP/5YKSkp2rp1q9566y3H6y9evKhNmzZp6dKleuGFF3T06FE9/PDDqlOnjpYvX66//OUvmjJlSr51P/fcc9q8ebNef/11LVu2TLfffruSkpJ04MAB0zXJysrS9OnTFRMTo9tvv12SdOTIkQIjMrk/Hz582PGPkeuuu67Ac3KPHTlyxOXxo0eP6j//+Y/Wr1+v9u3bq02bNnrmmWd09OhR02sHAHco6+kFAIAvqFixYr4vMOY6cuSIsrOzVa1aNVWvXl3Vq1fX3LlzHZ3cJUuWqGrVqho3bpyCg4NVp04dJScn67fffnO8R0JCgvr27StJGjRokGbPnq3du3crLi5ONWvW1KRJkxQfHy9Jql69ulq3bl0g5D/66KOKjY2VJL3xxhuqVKmS45y1a9fW8ePHlZycLOnKlwvXrFmjVatWqW7dupKkYcOGaevWrZo/f77Gjx9faB3at2+voKAgGYah8+fPS5KmTp2qcuXKSZLOnz+vypUr53tN7rELFy7o3LlzKlOmjEJCQgo8J7fLf/78ecdrnB3PnbUuW7aspk2bpj/++EMpKSl66KGHtHz5coWGhha6fgBwJ4I1AJhw9uxZRUZGFnj8pptu0n333afHH39c1apVU8uWLdWuXTvdddddkq58ya5hw4YKDg52vCb3WK6aNWvm+7lixYqO0Nq2bVtt375d06ZN04EDB7R//35lZGTotttuy/eaG264wfH3PXv26Oabb853zltvvTXfcUnq1atXvve4ePGi4wuahZk7d66io6NlGIbOnDmjL774Qs8884wMw1DHjh0VGhpa4D1yfw4PD1doaKguX76sS5cuqWzZsvmeExYWJkkqX768srOzC7xH7vFWrVpp48aN+QJ8nTp11KZNG61bt04JCQkuPwMAuAvBGgBMSE9PV8OGDQs8HhQUpNdff13Dhg3TunXrtGHDBg0dOlS9evXS2LFj84XHwjj7EqRhGJKkt956S7Nnz1aPHj3UunVrPf7441qwYEG+jrekfF3a4OBgXb58udDz5XaLFy9eXKC7e3Wn+Go1atRQtWrVHD/ffPPN2r59u9555x117NhR1apVKzBO8vvvv0u6Mv6RO1t+7NgxXX/99fmekzv+cf311zte4+y4pAJd8WuvvVZRUVE6fPiwy/UDgDsxYw0ARfj++++1fft2derUqcCxXbt2OXbAGDhwoObPn68RI0Zo+fLlkqTatWtrz549+YLuBx98oB49epg697vvvqvhw4drzJgxeuCBB9SwYUP9/PPPjuDtTP369ZWenq6cnBzHY2lpaY6/545/nDhxQrGxsY4///M//6PPPvvM1LryMgzDsZ5bb71Vu3fv1rlz5xzHN23apJo1a6pKlSq68cYbFRERoW+//dZx/ODBgzp06JDi4uIc75E7Y573PXK79AsWLFCrVq3ydbUPHTqkkydPOj4bAHgCwRoA8sjKytKxY8d07Ngx/frrr/rnP/+pxx57THFxcerSpUuB50dGRuq9997T1KlT9csvv+i7777TF198ocaNG0uSHnzwQcd8c0ZGhr7++mulpqaqTZs2ptZTuXJlbdiwQRkZGdq3b5/Gjx+v7du3uxzZ6Nevn06ePKlx48YpIyNDn332maZPny7pSoc9NjZWHTp00JgxY7Ru3Tr98ssvmjZtmhYvXlzkThsnT5501OfgwYOaN2+evvnmG0dt2rVrp2uuuUYjR47U3r17tWrVKs2bN0+DBg2SdKUj3q9fP7322mtav3690tPT9fTTT6t58+Zq0qSJJKl///7asmWL3njjDWVkZGj69OlKS0vTgAEDJEl33nmnzp49q7/97W/KyMjQ1q1b9eSTT6pZs2Zq0aKFqboCgDsEGa7aHgAQQNq2batDhw45fo6IiFD16tXVoUMHPfTQQ44Z302bNikpKUnr1q1TtWrVtG7dOkcIDAkJUevWrTV69GhFR0dLurJ93JQpU5Senq7KlSure/fuevLJJxUcHKy2bduq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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set_style(\"darkgrid\")\n",
    "plt.figure(figsize=(12, 8))\n",
    "\n",
    "plt.scatter(df['cycle'], df['capacity'])\n",
    "plt.plot(df['cycle'], len(df['cycle'])*[1.4], color = 'red')\n",
    "\n",
    "plt.ylabel('Capacity', fontsize = 15)\n",
    "plt.xlabel('cycle', fontsize = 15)\n",
    "plt.title('Discharge B0005', fontsize = 15)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. Calculation of SoH"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Max of SOH : 0.9282437105\n",
      "Min of SOH : 0.643726261\n"
     ]
    }
   ],
   "source": [
    "capacity = df['capacity']\n",
    "# C = capacity[0]\n",
    "\n",
    "SOH = capacity/2\n",
    "print(\"Max of SOH :\", np.max(SOH))\n",
    "print(\"Min of SOH :\",  np.min(SOH))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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Hz9edrtdvXr10r333qvf/OY35dZR+txXX32lqVOnat++fWrUqJG6du2qq6++Wq+//ro2b96snTt3lltLqa1btyotLU0HDhxQTEyMevfurddee02fffaZrrzySuXl5SkjI0MfffSRzp07pzZt2uiRRx7Rf//3f1dZm9L3XFZYWJhatWqlwYMHa+TIkc6tAb/55hulpqYqOztbl19+ue677z5nWJakoqIivfzyy1q5cqWKioqUkJCg559/vtyYyKeffqqZM2fq22+/VevWrfXMM8+UC9PZ2dnKyMjQrl27FBoaql69eunZZ5/VZZddVuN/7wDgKQRuAAgSX3/9tc6dO6fOnTs7n/vwww/17LPPavv27W7NlQMAao6REgAIEsePH1dycrLWrFmj7777Tv/4xz/06quvqk+fPoRtADARHW4ACCKLFy/WokWL9N1338nhcOjOO+/UhAkTnGMxAADPI3ADAAAAJmKkBAAAADARgRsAAAAwUcB9S6akpETFxdZMydjtNsuuFeyotXWotXWotXWotXWotXWotbUq1js01O72uQEXuIuLDZ09m2/JtRyOCMuuFeyotXWotXWotXWotXWotXWotbUq1js6OsrtcxkpAQAAAExE4AYAAABMROAGAAAATETgBgAAAExE4AYAAABMROAGAAAATETgBgAAAExE4AYAAABMROAGAAAATETgBgAAAExE4AYAAABMROAGAAAATETgBgAAAExE4AYAAABMROAGAAAATBTi7QX4uy4ZmZWe25rSwwsrAQAAgC+iw10HsZPXVfl8VSEcAAAAwYnADQAAAJiIkRIEJUaBAACAVehwI+hUN/LDKBAAADADgRsAAAAwESMldXBgWu8qvzjJaMKlu8XUCAAABAsCdx1VDI5dMjIrhc1gC5fujGZ0ycgMuroAAIDgxEiJBzEbDAAAgIoI3Ag61XXW6bgDAAAzMFKCoES4BgAAVqHDDQAAAJiIwA2Pc6d7TIcZAAAEC0ZKPGhrSg/uYPgfwfieAQAAqkLg9jB3tgms6vXBFNSD6b0CAAAQuE3k7n7U7h4LhFDqauvEQHh/AAAAFTHD7UfYzxsAAMD/ELgBAAAAEzFSgqDHTDkAADATHW4ENVcz5QAAAJ5A4DYRXdLKuK06AAAINoyUmMxVkHQ1yuBO59VfQ2rZdZe+n5p0lP31fQMAgOBE4PYi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yZMnKyYmRg899JA6duyoJk2aaMyYMRo8eLAOHz6scePGad26dQoJqX7ZdrtNDkeEFW9Jdns9y64V7Ki1dai1dai1dai1dai1dQKp1l0yMnVgWm9vL8OlutTbssAdGRmpvLw85+OSkhJncHY4HIqJiVHbtm0lSQkJCcrJydHo0aMVExMjm82mVq1ayeFw6NSpU2rWrFm11ykuNup81yV3ORwRll0r2FFr61Br61Br61Br61Br63ir1maNl/j656ZivaOjo9w+17LAHR8fr08++UR9+vRRdna22rVr5zx21VVXKS8vT0eOHFFMTIy2bdume++9VytWrND+/fuVmpqqkydPKjc3V9HR0VYtGQAAAFVwdwSkJsG89LWBOF5iWeBOTEzU5s2blZSUJMMwlJaWptWrVys/P19Dhw7VCy+8oJSUFBmGoc6dO+uWW25RQUGBJk2apGHDhslmsyktLc3lOAkAAAD8m7/crr0mbIZhGN5ehCcVFhYzUhKAqLV1qLV1qLV1qLV1qLV1/KHWtR098cXAXZeREm58AwAAAFP4YnD2BuYzAAAAYJrqQndtbxfvjyGeDjcAAAD8hrdvwFMbBG4AAABYzh871bXFSAkAAAC8omzo9sfOtbvocAMAAAAmInADAAAAJiJwAwAAwOvcnen2x9lvZrgBAADgE/wxTLuDDjcAAABgIgI3AAAAYCICNwAAAGAiAjcAAABgIgI3AAAAYCICNwAAAGAiAjcAAABgIgI3AAAAYCICNwAAAGAiAjcAAABgIgI3AAAAYCICNwAAAGAiAjcAAABgIgI3AAAAYCICNwAAAGAim2EYhrcXAQAAAAQqOtwAAACAiQjcAAAAgIkI3AAAAICJCNwAAACAiQjcAAAAgIkI3AAAAICJQry9AH9TUlKi1NRU7du3T2FhYZo+fbpiYmK8vayAUVhYqOeee07Hjh1TQUGBHn74YTVt2lQPPfSQfvnLX0qShg0bpj59+nh3oQFkwIABioqKkiS1aNFCDz30kJ599lnZbDbFxsbq97//verV4+/mdfWXv/xFK1eulCRduHBBe/bs0dKlS/lse9iOHTv08ssva9GiRTpy5EiVn+V33nlHS5cuVUhIiB5++GHdeuut3l62Xypb6z179mjatGmy2+0KCwvTjBkzdMUVV2j69On68ssv1bBhQ0nS3Llznb9v4L6ytd61a1eVvzf4XHtG2VpPmDBBp0+fliQdO3ZM119/vWbPnl27z7WBGvnoo4+MZ555xjAMw9i+fbvx0EMPeXlFgWXFihXG9OnTDcMwjDNnzhg9e/Y03nnnHWP+/PleXllg+umnn4y777673HMPPvig8fnnnxuGYRiTJ082Pv74Y28sLaClpqYaS5cu5bPtYW+88YbRt29fY/DgwYZhVP1Z/te//mX07dvXuHDhgvHjjz86/4yaqVjrESNGGLt37zYMwzDefvttIy0tzTAMw0hKSjK+//57r60zEFSsdVW/N/hce0bFWpc6e/as0b9/f+PkyZOGYdTuc03bqoaysrKUkJAgSYqLi1NOTo6XVxRYevfurccff9z52G63KycnR59++qlGjBih5557Trm5uV5cYWDZu3evzp8/rwceeEDJycnKzs7Wrl271LVrV0lSjx499Pe//93LqwwsX331lb7++msNHTqUz7aHtWzZUnPmzHE+ruqzvHPnTnXu3FlhYWGKiopSy5YttXfvXm8t2W9VrPWsWbN0zTXXSJKKi4sVHh6ukpISHTlyRM8//7ySkpK0YsUKby3Xr1WsdVW/N/hce0bFWpeaM2eORo4cqSuvvLLWn2sCdw3l5uYqMjLS+dhut6uoqMiLKwosDRs2VGRkpHJzc/XYY4/piSeeUKdOnfT0009ryZIluuqqq/Q///M/3l5mwKhfv77GjBmj+fPna8qUKXryySdlGIZsNpuki/8+zp075+VVBpY//vGPeuSRRySJz7aH3XHHHQoJ+XlSsqrPcm5ubrn/67dhw4b8RacWKtb6yiuvlCR9+eWXWrx4se677z7l5+dr5MiRmjlzpt588039+c9/JgTWQsVaV/V7g8+1Z1SstSR9//332rJliwYNGiRJtf5cE7hrKDIyUnl5ec7HJSUllf7loG6OHz+u5ORk3X333erXr58SExPVsWNHSVJiYqJ2797t5RUGjlatWql///6y2Wxq1aqVHA6Hvv/+e+fxvLw8NWrUyIsrDCw//vijvvnmG910002SxGfbZGW/e1D6Wa74OzwvL4+ZYg9Zs2aNfv/73+uNN95QkyZN1KBBAyUnJ6tBgwaKjIzUTTfdROD2gKp+b/C5Ns+6devUt29f2e12Sar155rAXUPx8fHKzMyUJGVnZ6tdu3ZeXlFgOX36tB544AE99dRTuvfeeyVJY8aM0c6dOyVJW7ZsUYcOHby5xICyYsUKpaenS5JOnjyp3NxcdevWTV988YUkKTMzUzfeeKM3lxhQtm7dqptvvtn5mM+2ua699tpKn+VOnTopKytLFy5c0Llz53Tw4EF+j3vA+++/r8WLF2vRokW66qqrJEmHDx/W8OHDVVxcrMLCQn355Zd8xj2gqt8bfK7Ns2XLFvXo0cP5uLafa1qzNZSYmKjNmzcrKSlJhmEoLS3N20sKKK+//rp+/PFHzZ07V3PnzpUkPfvss0pLS1NoaKiuuOIKTZs2zcurDBz33nuvJk2apGHDhslmsyktLU2NGzfW5MmTNWvWLLVu3Vp33HGHt5cZMA4dOqQWLVo4H6empmratGl8tk3yzDPPVPos2+12jRo1SsOHD5dhGJowYYLCw8O9vVS/VlxcrBdeeEHNmjXT+PHjJUldunTRY489pn79+mnIkCEKDQ3V3XffrdjYWC+v1v9V9XsjMjKSz7VJDh065PxLpCS1adOmVp9rm2EYhpkLBQAAAIIZIyUAAACAiQjcAAAAgIkI3AAAAICJCNwAAACAiQjcAAAAgIkI3ACAKs2ZM0eJiYneXgYA+D0CNwAAAGAiAjcAAABgIgI3AASA3NxcTZkyRTfffLM6d+6sMWPGaMeOHerYsaPWrl1b7rVPPfWUHnnkkWrP++abb6q8xvHjx/XYY48pPj5eN998syZMmKCTJ0+a/t4AwN8RuAEgADzxxBPasmWLMjIy9O677yoiIkITJkzQzTffrFWrVjlfl5+fr/Xr12vgwIHVnjd27FgVFhaW+/n5+fkaNWqUwsPDtXTpUs2fP1+FhYUaPXq0CgoKLH2vAOBvCNwA4Oe++eYbffbZZ5oyZYp+9atfqXXr1po6dapuv/129e/fX5999pl++OEHSdJf//pXhYeHq2fPni7PO3v2bLlrfPjhhzp//rzS09PVrl07XXPNNZo1a5ZOnjypjz/+2BtvGwD8Roi3FwAAqJv9+/dLkjp16uR8rnHjxnr22WdVWFio6dOna+3atRo+fLhWrVqlvn37KjQ01OV5Fe3evVtnzpzRjTfeWO758+fP6+DBg2a8LQAIGARuAPBzISHV/yoPDQ1V37599cEHHygxMVFbtmxRSkrKJc+r6ue0bdtWr732WqVjUVFRNV80AAQRRkoAwM+1adNGkpSTk+N8Ljc3V7/61a+0bds2DRo0SNu3b9fy5cvVpk0bXXvttW6dV1ZsbKyOHj0qh8OhmJgYxcTE6PLLL9eLL77o7JQDAKpG4AYAP9eqVSvddtttmjJlirZt26aDBw9q0qRJioqKUqdOnXTttdcqNjZWf/zjHzVo0CC3zyurX79+aty4sZ544gl99dVX2r9/v1JSUrRjxw7FxsZa/ZYBwK8QuAEgAKSnp+u6667Tb37zGw0ZMkSFhYV68803FRYWJkkaMGCAioqK1K9fvxqdV6p+/fpasGCB6tevr9GjR2vYsGEqKirSW2+9pcsvv9yy9wkA/shmGIbh7UUAAMw1Y8YMHTp0SK+//rq3lwIAQYcvTQJAACsdFVm6dGmVX3gEAJiPwA0AAWzDhg16++23NWrUKHXr1s3bywGAoMRICQAAAGAivjQJAAAAmIjADQAAAJiIwA0AAACYiMANAAAAmIjADQAAAJiIwA0AAACY6P8Bomvj2JNx1O0AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set_style(\"darkgrid\")\n",
    "plt.figure(figsize=(12, 8))\n",
    "\n",
    "plt.scatter(df['cycle'], SOH)\n",
    "plt.plot(df['cycle'], len(df['cycle'])*[0.7], color = 'red')\n",
    "\n",
    "plt.ylabel('SoH', fontsize = 15)\n",
    "plt.xlabel('cycle', fontsize = 15)\n",
    "plt.title('Discharge B0005', fontsize = 15)\n",
    "\n",
    "\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
